#pragma once

#define _CRT_SECURE_NO_WARNINGS 1


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int DataType;

typedef struct ListNode
{
	DataType val;
	struct ListNode* prev;
	struct ListNode* next;
}ListNode, * PListNode;


bool LinkListEmpty(PListNode phead);
PListNode BuyListNode();
PListNode LinkList_Create();
void LinkList_Destroy(PListNode* pphead);
void LinkListPrint(PListNode phead);
void LinkListPushBack(PListNode phead, DataType x);
void LinkListPopBack(PListNode phead);
void LinkListErase(PListNode pos);
int LinkListSize(PListNode phead);